home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / LIB / YLIB / ylib_0_10 / h / ymath
Text File  |  1993-09-21  |  2KB  |  88 lines

  1. /* defining no_y_trans before including this file disables the 
  2.    automatic translation from sin to ysin etc.
  3. */
  4.  
  5.  
  6.  
  7. /*
  8.     Copyright (C) 1993  Claus Vohwinkel
  9.  
  10.     This program is free software; you can redistribute it and/or modify
  11.     it under the terms of the GNU General Public License as published by
  12.     the Free Software Foundation; either version 2 of the License , or
  13.     (at your option) any later version.
  14.  
  15.     This program is distributed in the hope that it will be useful,
  16.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.     GNU General Public License for more details.
  19.  
  20.     You should have received a copy of the GNU General Public License
  21.     along with this program; see the file COPYING.  If not, write to
  22.     the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  23. */
  24.  
  25. #pragma force_top_level
  26. #pragma include_only_once
  27. #ifndef __math_h
  28. #include <math.h>
  29. #endif
  30.  
  31. #ifndef __ymath_h
  32. #define __ymath_h
  33. #pragma no_side_effects
  34.  
  35. #ifdef atan
  36. #undef atan
  37. #undef sin
  38. #undef cos
  39. #endif
  40.  
  41. extern double yacos(double);
  42. extern double yasin(double);
  43. extern double yatan2(double,double);
  44. extern double yatan(double);
  45. extern double ysqrt(double);
  46. extern double ycosh(double);
  47. extern double ysinh(double);
  48. extern double ytanh(double);
  49. extern double ypow(double,double);
  50. extern double yexp(double);
  51. extern double ylog10(double);
  52. extern double ylog(double);
  53. extern double ycos(double);
  54. extern double ysin(double);
  55. extern double ytan(double);
  56. extern double ymodf(double,double*);
  57. extern double yfmod(double,double);
  58. extern double yceil(double);
  59. extern double yfloor(double);
  60. extern double exm1(double);
  61. /* calculates exp(x)-1 */
  62. extern double twotox(double);
  63. /* calculates 2**x     */
  64. #pragma side_effects
  65.  
  66. #ifndef  no_y_trans
  67. #define acos(arg1) yacos(arg1)
  68. #define asin(arg1) yasin(arg1)
  69. #define atan2(arg1,arg2) yatan2(arg1,arg2)
  70. #define atan(arg1) yatan(arg1)
  71. #define sqrt(arg1) ysqrt(arg1)
  72. #define cosh(arg1) ycosh(arg1)
  73. #define sinh(arg1) ysinh(arg1)
  74. #define tanh(arg1) ytanh(arg1)
  75. #define pow(arg1,arg2) ypow(arg1,arg2)
  76. #define exp(arg1) yexp(arg1)
  77. #define log10(arg1) ylog10(arg1)
  78. #define log(arg1) ylog(arg1)
  79. #define cos(arg1) ycos(arg1)
  80. #define sin(arg1) ysin(arg1)
  81. #define tan(arg1) ytan(arg1)
  82. #define modf(arg1,arg2) ymodf(arg1,arg2)
  83. #define fmod(arg1,arg2) yfmod(arg1,arg2)
  84. #define ceil(arg1) yceil(arg1)
  85. #define floor(arg1) yfloor(arg1)
  86. #endif
  87. #endif
  88.